package org.biubiu0002.baiblog.core.service;

import org.biubiu0002.baiblog.core.model.entity.GroupInfoEntity;
import org.biubiu0002.baiblog.im.dto.conversation.ConversationCardDto;
import org.biubiu0002.baiblog.im.dto.message.Message;

import java.util.List;

/**
 * @Author: biubiu0002
 * @Date: 2022/11/21 17:29
 **/
public interface ConversationService {

    /**
     * 获取会话列表
     * @param uid 当前用户
     * @return 会话列表
     */
    ConversationCardDto getConversationCard(String uid);

    /**
     * 更新最新会话
     * @param chatMsg 聊天消息
     */
    void updateLatestMessage(Message chatMsg);

    /**
     * 用户读取了未读消息
     * @param uid uid
     * @param sessionId 聊天id
     */
    void readUnreadMessage(String uid,String sessionId);

    /**
     * 创建群组会话
     *
     * @param userUid  群主uid
     * @param groupInfoEntity 群组信息
     *
     */
    void saveGroupConversation(String userUid, GroupInfoEntity groupInfoEntity);

    /**
     * 新人进群时写群聊的会话列表
     * @param groupUid 群组id
     * @param toUidList 群组中成员uid
     * @param content 最后一条会话内容
     */
    void invitedToGroupConversation(String groupUid, List<String>toUidList, String content);
}
